﻿
Imports System.IO

Public Class Empaquetador : Inherits Procesador

    Private _parametro As String

    Public WriteOnly Property Parametro As String
        Set(value As String)
            _parametro = value
        End Set
    End Property

    Public Sub Empaqueta(ByVal directorio As String, ByVal tipoArchivos As String, ByVal output As String)

        If Not IO.Directory.Exists(directorio & "Packs") Then IO.Directory.CreateDirectory(directorio & "Packs")

        Dim inStartInfo As New ProcessStartInfo
        inStartInfo.WindowStyle = ProcessWindowStyle.Hidden
        inStartInfo.FileName = "cmd.exe"

        Main.Escribe(String.Format("Empaquetando archivos ""{0}"".", AlinearIzquierda(tipoArchivos, 70)))

        If tipoArchivos = "NO-EXTENSION" Then
            inStartInfo.Arguments = "/C " & GeneraParametros(_parametro, String.Format("{1}Packs\Paq_{0}.rar", output, directorio), directorio & "\*", Ejecutable)
        Else
            inStartInfo.Arguments = "/C " & GeneraParametros(_parametro, String.Format("{1}Packs\Paq_{0}.rar", output, directorio), directorio & "\*" & tipoArchivos, Ejecutable)
        End If
        Process.Start(inStartInfo).WaitForExit()



        For Each fichero In My.Computer.FileSystem.GetFiles(directorio, FileIO.SearchOption.SearchAllSubDirectories)
            If GetExtension(fichero) = tipoArchivos Then
                My.Computer.FileSystem.DeleteFile(fichero)
            End If
        Next

    End Sub

    Public Sub New(ByVal nombre As String, ByVal ejecutable As String)
        If EjecutableExiste(ejecutable) Then
            Me.Nombre = nombre
            Me.Ejecutable = ejecutable
        End If
    End Sub

End Class
